package com.crowntit.domain.order.model.entity;

import com.crowntit.domain.order.model.valobj.OrderStatusVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderEntity {

    /**
     * 商品ID
     */
    private String productId;

    /**
     * 商品名称
     */
    private String productName;

    /**
     * 订单ID
     */
    private String orderId;

    /**
     * 下单时间
     */
    private Date orderTime;

    /**
     * 订单金额
     */
    private BigDecimal totalAmount;

    /**
     * 订单状态；create-创建完成、pay_wait-等待支付、pay_success-支付成功、deal_done-交易完成、close-订单关单
     */
    private OrderStatusVO status;

    /**
     * 支付信息
     */
    private String payUrl;

    /**
     * 初始价格
     */
    private BigDecimal originalPrice;

    /**
     * 折扣金额
     */
    private BigDecimal deductionPrice;

    /**
     * 支付金额
     */
    private BigDecimal payPrice;

    /**
     * 团购服务的外部交易号
     */
    private String gbmOutTradeNo;

    /**
     * 是否团购下单
     */
    private Integer isGroupBuy;

    /**
     * 团购服务的响应状态：NULL-非团购下单、SUCCESS_LOCK-锁单成功、SUCCESS_PAY-结算成功、EXCEPTION_LOCK-锁单异常、EXCEPTION_PAY-结算异常
     */
    private String groupBuyServiceResponseStatus;
}
